commonlibsse_ng\re\c/
Crime.rs

1use crate::re::BSAtomic::BSReadWriteLock;
2use crate::re::BSPointerHandle::ActorHandle;
3use crate::re::BSTArray::BSTArray;
4use crate::re::TESFaction;
5
6// Enum to represent different crime types
7#[commonlibsse_ng_derive_internal::ffi_enum]
8#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
9#[repr(u32)]
10pub enum CRIME_TYPE {
11    Steal = 0,
12    Pickpocket = 1,
13    Trespass = 2,
14    Attack = 3,
15    Murder = 4,
16    Escape = 5,
17    Unused = 6,
18}
19
20#[repr(C)]
21#[derive(Debug)]
22pub struct Crime {
23    unk00: u64,                                  // 0x00
24    unk08: u64,                                  // 0x08
25    unk10: u64,                                  // 0x10
26    unk18: u64,                                  // 0x18
27    unk20: u64,                                  // 0x20
28    actors_know_of_crime: BSTArray<ActorHandle>, // 0x28
29    unk40: u64,                                  // 0x40
30    unk48: u64,                                  // 0x48
31    unk50: u64,                                  // 0x50
32    unk58: u64,                                  // 0x58
33    crime_faction: *mut TESFaction,              // 0x60
34    unk68: u32,                                  // 0x68
35    lock: BSReadWriteLock,                       // 0x68 - Mutable lock used for thread safety
36    unk74: u32,                                  // 0x74
37}